namespace Digitalmes.Domain.Entities.Mes.Productions;

/// <summary>
/// 产品出站信息。
/// </summary>
[SugarTable("prod_outbound")]
public sealed class ProdOutbound : EntityBase
{
    /// <summary>
    /// 关联的进站 Id。
    /// </summary>
    public long InboundId { get; set; }

    /// <summary>
    /// 进站信息
    /// </summary>
    [Navigate(NavigateType.OneToOne, nameof(InboundId))]
    public ProdInbound? Inbound { get; set; }

    /// <summary>
    /// 过站结果（1->OK，2->NG，3->强制OK，4->强制NG）
    /// </summary>
    public PassEnum PassResult { get; set; }
   
    /// <summary>
    /// 出站时间
    /// </summary>
    public DateTime OutboundTime { get; set; }

    /// <summary>
    /// 用时 (单位：秒)。
    /// </summary>
    public double CycleTime { get; set; }

    /// <summary>
    /// 过站结果是否成功
    /// </summary>
    /// <returns></returns>
    public bool IsSuccess()
    {
        return PassResult is PassEnum.OK or PassEnum.ForceOK;
    }
}
